<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd">
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=windows-1252">
<title>Exported from Notepad++</title>
<style type="text/css">
span {
	font-family: 'Courier New';
	font-size: 10pt;
	color: #000000;
}
.sc0 {
}
.sc1 {
	font-style: italic;
	color: #0000FF;
}
.sc2 {
	font-style: italic;
	color: #0000FF;
}
.sc5 {
	font-weight: bold;
	font-style: italic;
	color: #0000FF;
}
.sc6 {
	font-weight: bold;
	color: #008000;
}
.sc8 {
	font-weight: bold;
	font-style: italic;
	color: #008000;
}
.sc10 {
	font-weight: bold;
	color: #0080FF;
}
.sc11 {
}
.sc14 {
	color: #8080FF;
}
</style>
</head>
<body>
<div style="float: left; white-space: pre; line-height: 1; background: #FFFFFF; "><span class="sc2">// ========================================================= //</span><span class="sc0">
</span><span class="sc2">// =============== BOPWATCH.BOP : BEBOP 1.0 ================ //</span><span class="sc0">
</span><span class="sc2">// ========================================================= //</span><span class="sc0">

</span><span class="sc2">// include with : #include &lt;bopwatch.bop&gt;</span><span class="sc0">

</span><span class="sc1">/**
 * BOPWATCH.BOP : watching and debugging purpose
 * declaration of external tool "bopwatch"
 * @author Mathieu Barbin &lt;barbin@clipper.ens.fr&gt;
 * @date jeudi 3 juillet 2008, 12:44:56 (UTC+0200)
 */</span><span class="sc0">

</span><span class="sc2">// The link to run the external bopwatch application</span><span class="sc0">
</span><span class="sc2">// Must be in the PATH, in $BEBOPDIR/bin</span><span class="sc0">
</span><span class="sc10">#</span><span class="sc5">define</span><span class="sc0"> </span><span class="sc8">BOPWATCH_EXE</span><span class="sc0"> </span><span class="sc14">"bopwatch.bpox"</span><span class="sc0">

</span><span class="sc2">// Define external application bopwatch</span><span class="sc0">
</span><span class="sc5">external</span><span class="sc0"> </span><span class="sc11">bopwatch</span><span class="sc0"> </span><span class="sc14">"$(BOPWATCH_EXE)"</span><span class="sc0">
    </span><span class="sc1">/**
     * Method display &lt;=&gt; print : print messages for debugg
     * @example display("Value of a : %2b", a[0..1]);
     */</span><span class="sc0">
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">display</span><span class="sc0"> </span><span class="sc14">"DISPLAY"</span><span class="sc0">
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">print</span><span class="sc0">   </span><span class="sc14">"DISPLAY"</span><span class="sc0">
    </span><span class="sc1">/**
     * Method send : send a message to a process
     * @exemple send("cat &gt; mytrace.txt", "Value of a : %b", a);
     */</span><span class="sc0">
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">send</span><span class="sc0"> </span><span class="sc14">"SEND"</span><span class="sc0">
    </span><span class="sc1">/**
     * Method wpipe : send a message to a process and read the answer
     * @exemple wpipe("bopsimu myfile.bop -p", "%2b%b", a[0..1], b);
     */</span><span class="sc0">
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">wpipe</span><span class="sc0"> </span><span class="sc14">"WPIPE"</span><span class="sc0">
    </span><span class="sc1">/**
     * Method view : watch a value in the graphics window
     * @example view("a", a); 
     */</span><span class="sc0"> 
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">view</span><span class="sc0"> </span><span class="sc14">"VIEW"</span><span class="sc0">
    </span><span class="sc1">/**
     * Method breakOnPosedge : wait for an input_line when a signal move from 0 to 1
     */</span><span class="sc0">
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">breakOnPosedge</span><span class="sc0"> </span><span class="sc14">"BREAKONPOSEDGE"</span><span class="sc0">
    </span><span class="sc1">/**
     * Method breackOnEvent : wait for an input_line when a signal move
     */</span><span class="sc0">
    </span><span class="sc6">def</span><span class="sc0"> </span><span class="sc11">breakOnEvent</span><span class="sc0"> </span><span class="sc14">"BREAKONEVENT"</span><span class="sc0">
</span><span class="sc5">end</span><span class="sc0"> </span><span class="sc5">external</span><span class="sc10">;</span><span class="sc0">

</span><span class="sc1">/**
 * Main : The &lt;i&gt;empty&lt;/i&gt; main for BopWatch Module 
 */</span><span class="sc0">
</span><span class="sc8">BopWatchMain</span><span class="sc0"> </span><span class="sc10">()</span><span class="sc0"> </span><span class="sc10">=</span><span class="sc0"> </span><span class="sc10">()</span><span class="sc0">
</span><span class="sc5">where</span><span class="sc0">
</span><span class="sc5">end</span><span class="sc0"> </span><span class="sc5">where</span><span class="sc10">;</span><span class="sc0">
</span></div></body>
</html>
